Unified communication services via e-mail

ABSTRACT

A method and system for providing unified messages services to a subscriber. The subscriber utilizes an active interface embedded in an e-mail notification to control delivery of a non-literal, single media or multimedia message to the subscriber. Such a non-literal message includes, but is not limited to, any of a hyperlink-based message, a voicemail message, a facsimile, and a video clip. The active interface provides access to communications-related services as well, including access to stock/options trading and bill payment.

CROSS-REFERENCE TO RELATED CO-PENDING APPLICATION

[0001] The present application claims priority to co-pending provisionalapplication Serial No. 60/084,457 filed May 6, 1998. The presentapplication is related to co-pending application Ser. No. 08/806,986,filed Feb. 26, 1997. The contents of both of those applications areincorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to a new computer-based messagingsystem, and in particular to a method and system for providing unifiedcommunication (UC) services over a local- or wide-area network. In oneembodiment, those services are accessed from within an “Active” e-mailmessage which is sent to a subscriber of the services.

[0004] 2. Description of the Background

[0005] A known method for sending a voice, fax, or video message fromone user to another user over a local- or wide-area network is to attachthe message to an e-mail as a passive data attachment. One such faxservice believed to have been introduced in late 1998 or early 1999 is“efax” from efax.com which receives facsimiles and converts them toe-mail attachments. By launching a tool separately provided by efax.com,the attachments can be viewed.

[0006] Currently many e-mail client programs can read and display HTMLe-mail directly in a window of the e-mail client program. Although someclient programs do not support direct in-line viewing, most other e-mailclient programs support opening the HTML e-mail as an attachment whichcan subsequently be viewed in an Internet Browser (e.g., MicrosoftExplorer or Netscape Communicator).

[0007] A relatively new object oriented computer language called Javawas developed by Sun Microsystems and has become an Internet-standardfor developing small applications, called applets, that run in a commonenvironment, such as a World Wide Web browser. These applets have theability to utilize graphical user interface objects and communicationobjects that are provided through standard object classes. Javaprogramming examples are described in Java in a Nutshell: A DesktopQuick Reference for Java Programmers by David Flannagan, and Java AWTReference by John Zukowski, both of which are published by O'Reilly &Associates, Inc. and incorporated herein by reference. Java is alsodescribed in the Sun Microsystems Series of books published by PrenticeHall Books entitled Core Java, Instant Java, Java by Example, and JustJava by Cornell, Pew, Jackson and Van Der Linden, respectively, whichare all incorporated herein by reference.

[0008] Documents are also available which describe web techniques andprogramming. The contents of the Third Edition of “HTML Sourcebook” byIan S. Graham, published by Wiley Publishing, and the Second Edition of“JavaScript” by David Flanagan, published by O'Reilly & Associates, Inc.are incorporated herein by reference. An additional Request for Commentsthat describes document formats that is incorporated herein by referenceis: RFC 2068 entitled “Hypertext Transfer Protocol—HTTP/1.1”. Similarly,“Wireless Application Protocol (WAP)—Wireless Markup Language (WML)Specification—Version 1.1” by the Wireless Application Protocol Forum,Ltd. and “A Technical Introduction to XML” by Norm Walsh. ArborText,Inc., 1998, are also incorporated herein by reference.

[0009] Documents are also available which describe electronic mailhandling procedures. In particular, two Internet standards on e-mail areincorporated herein by reference in their entirety. They are: InternetSTD0014 entitled “MAIL ROUTING AND THE DOMAIN SYSTEM” (also known as RFC974) and Internet STD0010 entitled “SIMPLE MAIL TRANSFER PROTOCOL” (alsoknown as RFC 821). The contents of the Second Edition of “sendmail” byBryan Costales and Eric Allman, published by O'Reilly Publishing, isalso incorporated herein by reference. Additional Requests for Commentsthat describe mail formats that are incorporated herein by referenceare: RFC 2045 Multipurpose Internet Mail Extensions (MIME) Part One:Format of Internet Message Bodies, November 1996; RFC 2046 MultipurposeInternet Mail Extensions (MIME) Part Two: Media Types, November 1996;RFC 2047 MIME (Multipurpose Internet Mail Extensions) Part Three:Message Header Extensions for Non-ASCII Text, November 1996, RFC 2048Multipurpose Internet Mail Extensions (MIME) Part Four: RegistrationProcedures; November 1996; and RFC 2049 Multipurpose Internet MailExtensions (MIME) Part Five: Conformance Criteria and Examples; November1996.

SUMMARY OF THE INVENTION

[0010] The present invention sends an e-mail message including an activeuser interface to communicate with the unified communication services.This allows the recipient to not only listen and/or view the message,but also to respond to it through the interface. Using the features ofthe interface allows a subscriber to call or fax individuals and performother functions directly from the interface within the e-mail. Thismethod is quicker, easier, and more user friendly than known methodssince it reduces the number of steps the individual needs to go throughin order to respond to the message and/or perform related tasks. Byinteracting with the interface rather than the message itself, theactual message can remain stored on the server and is only retrievedwhen the subscriber desires to view/listen to its contents. Theretrieval of voice, fax, and video data stored on the server can be doneusing streaming technology such that the user can listen and/or view themessage while it is being downloaded.

[0011] An advantage of using an interface that is “limited” to a messageis that the e-mailed message remains “lightweight” so that the interfaceportion of the message itself is only 2-10 kb in size, rather thanpotentially being much larger, especially for images, voice streams ordata streams. That is, the notification message with the user interfaceis a substantially constant size for voicemails. The message issubstantially independent of the size of the voicemail that it is linkedto because only a link to the message is used. Similarly, the interfacefor faxes is substantially independent of the number of faxed pagesreceived.

[0012] Within the interface itself, the present invention allows theindividual to select whether the system should include a link to themessage or the message itself, when sending e-mail to a subscriber. Thisallows greater flexibility for smaller messages that would benefit fromincluding the smaller message with the interface.

[0013] Enriched E-mail as described herein is an e-mail message that hasat least one of an HTML, WML, XML (or similar language) documentattached thereto and which provides at least one user interface withinthe e-mail. Such an interface provides access to and/or control of avariety of online and offline services.

[0014] It is an object of the present invention to provide a unifiedcommunication service such that the service allows at least two services(e.g., voicemail, facsimile, and e-mail) to be combined into a single,distributable user interface.

[0015] It is a further object of the present invention to integrateservices which allow a user to be tracked via the telephone using thesame user interface that controls voicemail, facsimile, and e-mail.

[0016] These and other objects of the present invention are accomplishedby providing a computer system that acts in conjunction with (1) a voicemessaging system and (2) a digital communications network. The voicemessaging system receives messages and provides access to those messagesin digital form across the digital communications network. The digitalcommunications network can be either a local area network or a wide-areanetwork (e.g., the Internet). The messages can be delivered in eitherencrypted or non-encrypted format.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] A more complete appreciation of the invention and many of theattendant advantages thereof will be readily obtained by one of ordinaryskill in the art as the same becomes better understood by reference tothe following detailed description when considered in connection withthe accompanying drawings, wherein:

[0018]FIG. 1 is a schematic illustration of a computer system forimplementing the method of the present invention;

[0019]FIG. 2 is a schematic illustration of an exemplary user interfaceaccording to the present invention;

[0020]FIG. 3 is a block diagram of one embodiment of the components ofthe present invention;

[0021]FIG. 4 is a schematic illustration of one embodiment of thesoftware components for implementing the method of the presentinvention;

[0022]FIG. 5 is a flowchart illustrating the method of generating andsending a unified communications (UC) interface; and

[0023]FIG. 6 is a flow chart illustrating an authentication process foruse with the UC interface.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0024] Referring now to the drawings, wherein like reference numeralsdesignate identical or corresponding parts throughout the several views,FIG. 1 is a schematic illustration of a computer system for implementingthe method and system according to the present invention. The computersystem 100 has a housing 102 which houses a motherboard 104 whichcontains a CPU 106 (e.g. Intel Pentium, Intel Pentium II, Dec Alpha,IBM/Motorola Power PC, memory 108 (e.g., DRAM, ROM, EPROM, EEPROM, SRAMand Flash RAM), and other optional special purpose logic devices (e.g.,ASICs) or configurable logic devices (e.g., GAL and reprogrammableFPGA). The computer 100 further includes plural input devices, (e.g., akeyboard 122 and mouse 124), and a display card 110 for controllingmonitor 120. In addition, the computer system 100 includes a floppy diskdrive 114; other removable media devices (e.g., compact disc 119, tape,and removable magneto-optical media); and a hard disk 112, or otherfixed, high density media drives, connected using an appropriate devicebus (e.g., a SCSI bus or an Enhanced IDE bus). Although compact disc 119is shown in a CD caddy, the compact disc 119 can be inserted directlyinto CD-ROM drives which do not require caddies. Also connected to thesame device bus or another device bus as the high density media drives,the computer 100 may additionally include a compact disc reader 118, acompact disc reader/writer unit or a compact disc jukebox. In addition,a printer (not shown) also provides printed copies of messages receivedand interface customization procedures or files.

[0025] The computer system further includes at least one computerreadable medium. Examples of such computer readable media are compactdiscs 119, hard disks 112, floppy disks, tape, magneto-optical disks,PROMs (EPROM, EEPROM, Flash EPROM), DRAM, SRAM. Stored on any one or ona combination of the computer readable media, the present inventionincludes software for controlling both the hardware of the computer 100and for enabling the computer 100 to interact with a human user. Suchsoftware may include, but is not limited to, device drivers, operatingsystems and user applications, such as development tools and (graphical)system monitors. Such computer readable media further include a computerprogram, according to the present invention, for providing unifiedmessaging. In addition, the software includes a program or programs(including device drivers) for interacting with a remote voice messagingservice, telephone switches or bridges, and/or facsimile servers.Examples of known telephone bridges are 1) the LNX 2000 by Excel and 2)the SDS-500 by Summa Four Inc. The software can control the voicemessaging services and switches under the control of the UnifiedCommunications (UC) server of the present invention based on a user'sinteraction with his/her “active” e-mail.

[0026] Business applications for the present invention are notnecessarily limited to telephony services. An enriched e-mail messagethat embeds a communications-aware (e.g., web-based) user interfacedelivers not only content to the user, but also gives the user theability to respond, modify, or interact with that content at the momentit is received.

[0027] Three exemplary uses of the present invention are describedbelow.

[0028] 1. Stock/Options Interface

[0029] In one alternate embodiment of the present invention, a brokeragecompany maintains a registry of subscribers and options/stock pricethresholds. When a stock or option price crosses correspondingthreshold, the brokerage company sends an enriched e-mail notificationto the corresponding client showing which stock or option crossed itsthreshold. The notification e-mail includes not only information on whattriggered the e-mail, it also includes the online interface that linksto a web brokerage application. That application then allows the clientto buy or sell the stock/option by clicking on the appropriatebutton(s), hyperlink(s), or control(s) in the interface included in thee-mail. By using the interface, the client can also request otherinformation (e.g., stock price history) which can be displayed in a Javaapplet or as a dynamically generated HTML/XML/WML page.

[0030] 2. Billing Interface

[0031] In yet another embodiment of the present invention, an enrichede-mail message is sent out to bill for services rendered. The interfaceincluded in the e-mail enables the user to perform one or more of thefollowing actions: pay the bill electronically, update/change accountinformation and services, call customer service, and access an onlinebilling calculator.

[0032] The actual bill is generated by an electronic Billing server andthen passed to a server process which creates a multi-part MIME e-mail.The bill is included as an HTML/XML/WML attachment. This attachmentcontains a statement of the actual bill, but will also have URL linksembedded within the bill (or a similar data passing mechanism) which canpass customer account information to the server. For example, if thebill is attached to the e-mail as an HTML attachment, URL links can beembedded within the HTML that contain name/value parameters designed topass customer account information to the server when the link isinvoked. Such a mechanism allows for unique identification of asubmitting party when a request to the back-end server is made. Forexample, the server may receive the “Pay Bill” request for customer“XYZ123” in the form:

[0033] www.tpsinc.com/UCServer/paybill?cid=XYZ123&billid=4598732

[0034] where “cid” and “billid” are the customer and billingidentification tags, respectively. Accordingly, the server extracts fromits database the billed amount and the bank account to debit forcustomer “XYZ123.” The server then sends a debit request to the bankwith the customer's bank account number and reports the result of therequest to the customer through a Java applet or via a dynamicallygenerated page. Using this technique, the application can alsoincorporate the ability for the customer to retrieve the current accountbalance and billing statement (as of the current time and date) and havethe option of submitting an account settlement on all or part of it.

[0035] For additional security, a login mechanism can be incorporatedwhich forces the user to login to the billing system before performingany transactions or account updates. This can be done via a browsercookie mechanism as discussed below. The server can save state betweenclient requests by storing session information in a file that can berecalled and modified as needed.

[0036] 3. Advertising Interface

[0037] In a third alternate embodiment, an interface is included in anenriched e-mail designed to advertise a travel vacation onboard a cruiseship. The promotional e-mail is sent to potential customers who, uponreceiving it, may interact with the user interface to requestinformation about the ship, including a cabin plan showing what cabinsare currently available and at what price. The customer can then reservethe room and electronically make payment. Once the user is signed up,the cruise line can then send, via a subsequent enriched e-mail, otherinformation about onboard events and activities (as they becomeavailable). Using the embedded user interface provided in the subsequentmessages, the user can sign up for those events. The interface can evenprovide a current schedule and profile information that lets the usersee how this new event relates to other events for which he or shepreviously registered.

[0038] Each of the above examples demonstrates the extendedfunctionality and power gained in sending an enriched e-mail message(including a user interface) as compared to a conventional text onlye-mail message. Like conventional text e-mail, enriched e-mail allowsthe sender to “push” information and content to the user, thus, makingit ideal for notification and alert messages. Enriched e-mail messagesas defined here, however, rely on a user interface for a web-basedapplication or applet to enable a user to interactively and dynamicallyrespond to the e-mail in a service-specific fashion.

[0039] Turning now to FIG. 2, FIG. 2 shows an exemplary embodiment of auser interface according to the present invention. This user interface,and its server side components provided by a UC server, provide unifiedcommunication services including:

[0040] Playback and viewing of voice, fax, and video messages.

[0041] Placing phone or video calls directly from the interface.

[0042] Forwarding the received message to one or more parties.

[0043] Managing and setting up a phone or video conference.

[0044] Configuring and Setting-up a user's account through theinterface.

[0045] Accessing a user's World Wide Web information.

[0046] Displaying system and account status within the interface in atimely fashion.

[0047] Carrying current or up-to-date information independent of when amessage was actually sent.

[0048] As used in this application, the term “non-literal” message means(1) a message that is not text-only or (2) a message that needs to beplayed (e.g., a voice clip) or rendered (e.g., an image, includingfacsimile). Forms are contained within the definition of a non-literalmessage since the forms may include elements (e.g., hyperlinks andbuttons) that are not strictly text-only. Non-literal messages can beself-contained or include hyperlinks, and they may be delivered in onepiece or in several pieces (e.g., in a streaming fashion).

[0049] Accordingly, when a UC server sends an e-mail to a subscriber,the e-mail contains interaction controls (e.g., buttons or UniversalResource Links (URLs)) which give the subscriber the ability to interactwith server side communication functions (e.g., perform conferencecalling and message retrieval). The interaction controls are sent withthe e-mail as part of an HTML, WML or XML document which is attached tothe e-mail (e.g., as a MIME attachment) in the form of a graphical userinterface. The actual voice, fax, or video message is preferably storedon the server computer until the user requests it. On the other hand, amessage can be attached to the e-mail so that it is downloaded with theHTML or WML document to the subscriber's computer.

[0050] By leveraging the rendering capabilities of e-mail programs, arich graphical HTML interface is provided when rendering an e-mail.Below is step by step analysis of one embodiment of a method of sendinga subscriber notification—specifically a notification that a voicemailmessage is in the subscriber's unified messaging mailbox.

[0051] 1) When a caller leaves a voicemail message for the subscriber,the message is stored digitally on the computer(s) of the UC serviceprovider.

[0052] 2) The UC service provider then sends, via e-mail, a standardMIME encoded (or similar) document to the subscriber which contains atleast one part. The first part is a standard HTML, WML or XML formatteddocument which contains interaction controls (e.g., URL links or formelements) linked backed to at least one server side program. When one ofthe interaction controls is selected, a message is sent back to theserver causing the server to perform a corresponding one of thecommunications services. As described above, the MIME-encoded e-mailmessage also can contain, if the user prefers, the actual multimediaportion of the message attached as a separate MIME part to the e-mail sothat the subscriber can listened to or view the message off-line (i.e.,without a network connection).

[0053] 3) Once the recipient receives the e-mail message and opens it,the recipient sees the graphical HTML, WML or XML attachment eitherdirectly in an e-mail client or in a Web Browser depending on the systemconfiguration. Moreover, once the e-mail is opened, a communicationsconnection (e.g., a Hyper Text Transfer Protocol (HTTP) connection) isestablished to an information server (e.g., a Web Server) whichimmediately loads images, data, or programs (like a Java applet orsimilar) necessary to construct the interface to be displayed. Thisinterface may even provide current up-to-date information which is newerthan the time and date the e-mail was originally constructed. Themessage identification (as well as other system parameters needed toretrieve the message) is also contained in the MIME message.

[0054] 4) After opening the e-mail message, the subscriber is presentedwith a graphical user interface which can (1) retrieve the subscriber'smessage and (2) coordinate other communication services. The interactioncontrols also can load information dynamically and automatically intothe document once the e-mail is opened (i.e., without requiring explicituser action after opening the e-mail).

[0055] 5) Once the subscriber is finished with the message, thesubscriber may delete the message like any other e-mail message.However, if the subscriber chooses to keep the message in the e-mailclient, the subscriber will still be able to see up-to-date information(e.g., like the status of an account) when the message is opened again.This occurs because all time sensitive information is loaded dynamicallyeach time the e-mail message is opened.

[0056] Thus, the present invention uses an Enriched E-mail interface tointeract with phone, fax and video services from inside an e-mailmessage. Also, with such an e-mailed based interface, the subscriber can“push” information to another user. The pushed information can includeone or more of any of the following:

[0057] message data (voice, fax, video)

[0058] current status info on:

[0059] the fact that phone availability is turned off

[0060] the current primary number location of a subscriber

[0061] any overrides that are in effect

[0062] service information

[0063] account information

[0064] other information (stock quotes, sport scores, current events)

[0065] new product info, special discount rates

[0066] Dynamic Information

[0067] In one embodiment of the present invention, the Enriched E-mailinterface has sections which contain dynamic information (e.g., 203)which are always current even if the actual e-mail message is old andhas been in the subscriber's mailbox for some time. This is possiblesince the dynamic information is kept on the UC server computers untilthe e-mail HTML interface requests it in response to a subscriberopening the e-mail. The three embodiments include:

[0068] (1) Clients that use Image URL links to reference a CGI programwhich returns a dynamically constructed image which contains the currentinformation. The image is retrieved every time the HTML page is openedor refreshed.

[0069] (2) A Java-based HTML e-mail applet that retrieves the currentinformation from the UC server and then displays it.

[0070] (3) Embedding a Javascript “onLoad” event handler in the “<body>”tag of an HTML page. When the page is loaded by the client theJavascript function which the “onLoad” event handler references isexecuted. This allows for dynamic retrieval of information at the timethe web page is viewed. An example of such a function call is shown inthe HTML code fragment below:

[0071] <BODY onLoad=“getCurrentInfo(custID);”>

[0072] where getCurrentInfo( ) is a function which takes a uniquemessage or customer identifier to call a URL that retrieves currentinformation.

[0073] In one implementation, the information in any of the threeembodiments is constructed from at least one dynamic source (e.g.,account, status, or message information) on the enhanced servicesplatform as shown in FIG. 4. In an alternate implementation, the dynamicinformation is imported from a third party source (e.g., news agency orbrokerage house) and then integrated into the Unified Call Managementenvironment as shown in FIGS. 3 and 4.

[0074] Message Delivery

[0075] The Enriched E-mail interface also is capable of sending amultimedia E-mail Message over a wide-area network (e.g., the Internet)via standard e-mail which can be viewed, listened to, or read withoutrequiring that the recipient have an installed message-specificapplication to interpret the message's data. The only software needed isa Java-enabled Web browser or e-mail client that runs a small Javaapplet. That applet retrieves, plays, and displays the data that theapplet downloads from the UC server computer. This allows the recipientto a “interpret” the data without the need for additional softwarebeyond a standard Java-enabled e-mail client and/or Web browser. Even ifthe message is encoded and compressed in a non-standard format, the Javaapplet which subsequently gets downloaded when the message is requestedcan decode the data before displaying or playing it.

[0076] The present invention can be used for any type of data format(e.g., voice, fax, video).

[0077] The present invention:

[0078] (1) does not require the user to have the “application” softwareinstalled on their hard disk; and

[0079] (2) enables large voice, fax, and video messages to reside on acentral server and to be streamed to the recipient without requiringthat the recipient download the entire message (which can be timeconsuming) before it is played/displayed.

[0080] Message Services

[0081] The message services 201 which are provided in the interface givethe user the ability to Listen, View, Save, Delete, or Forward a messagefrom the interface. These services are performed by the interfaceconnecting to an information server (e.g., a Web server) that invokes anapplication (e.g., a CGI script 401) that then invokes other processeson the enhanced services platform to carry out the request (FIG. 4). Thelisten and/or view processes work in two modes: (1) local mode where themessage data is contained in the e-mail and is accessed directly, or (2)streaming mode when the message data resides on the Enhanced Servicesplatform (FIG. 4.) and is downloaded via streaming technology to theuser.

[0082] When the user selects the “Listen/View” link for a voice message,the interface makes a request on behalf of the user to a Web Server 410including an HTTP CGI “listen” program or script 401. This program 401determines the user's preferred audio format for playing back the voicemessage and delivers the voice message using the user's audio formatpreference (e.g., a .wav format or a steaming audio format such as GSMor Realaudio). Streaming audio technology provides significantperformance improvements in cases where the connection bandwidth betweenthe interface and the Web Server 410 is low (56 Kb or less). In .wavformat, the entire message is downloaded from the Web Server to theinterface before the message starts playing. The .wav audio message isplayed by a media player application that comes standard with WebBrowsers. In audio streaming format, the message is played as itdownloads from the Web Server to the interface. A streaming player suchas the Call Sciences GSM Audio Streaming Player or the RealNetworksRealAudio Player can be used to listen to voice messages in steamingaudio format.

[0083] When the user selects the “Listen/View” link for a FAX message,the message services CGI 401 is used to deliver the voice or fax (e.g.,in TIFF or GIF format). The interface invokes a “fax viewer” applicationsuch as the Wang Imaging Viewer (standard with Windows 95/98/NT) torender the fax image.

[0084] When the user selects the “Save” link, the interface sends arequest to a CGI computer program 401 residing on the UC Web Server 410on behalf of the user. This program sends a “save message” request to acomputer program running on one of the computers on the Unified MailSystem platform 420. That program changes the status of the message inthe user's mail box from “new” to “saved”.

[0085] When the user selects the “Delete” link, the interface requeststhat the HTTP CGI computer program 401 residing on the UC Web Server 410send a “delete message” request to the Unified Mail System platform 420.That program removes the message from the user's message mailbox.

[0086] When the user selects the “Forward” link, the interface requeststhat the CGI computer program 401 residing on the UC Web Server 410generate an HTML/XML/WML based-web page that contains the user interfacefor forwarding a voice or fax message. That interface provides featuressuch as:

[0087] Forward a voice or fax message to one or more e-mail addresses.

[0088] Forward a fax message to one or more fax machines.

[0089] Send a carbon copy of the voice message or fax message to theuser's e-mail address that is initiated in the forward request.

[0090] When the user selects the “Options” link, the interface requeststhat the Account Services CGI computer program 404 residing on the UCWeb Server 410 generate an HTML/XML/WML-based web page that contains theuser interface that allows the user to add/modify various UC serviceoptions. Options include an audio format preference (e.g., .wav, .gsm,or realaudio).

[0091] When the user selects the “Help” link, the interface invokes anew window and requests that the Account Services CGI program 404residing on the UC Web Server 410 deliver online help content viaHTML/XMA/WML inside the newly created window.

[0092] Call Services

[0093] If a user wants to place a phone or video call, he/she can do soin at least two different ways using the embedded interface.

[0094] (1) The user enters a call back phone number and a target phonenumber in the interface. The entered number is sent to the UC serverwhich calls back (using the public switched telephone network (PSTN))the user at the entered call back phone number. After the user answersthe call, the UC server then calls the other party at the target phonenumber. In effect, the call established by the UC server is a privatetwo way teleconference. This method, however, requires separate orindependent data and voice connections.

[0095] (2) The user enters a phone number and then a local clientprogram actually sets up a voice connection with the UC server to routethe call from the PSTN switch on the server to the client via thenetwork connection that the computer is using. This alleviates the needfor the user to have a separate phone or video calling device whentrying to make a phone or video call. The user's computer becomes theconduit for communicating with the other party. Calling services 202which can be provided through a user interface:

[0096] 1) Return call—The user receives an e-mail message containing auser interface that indicates that the user missed a call and was left avoicemail. The user then clicks on a button, to call back the party.Clicking the button causes the interface to send a request to the webserver 410 thereby invoking the “return call” Call Service 402 CGIscript. If caller ID was available when the messaging service recordedthe missed call, the messaging service will have captured the number ofthe calling party. Thus, the number can be passed to the “return call”Call Service 402 CGI script. If caller ID was not available, thesubscriber is prompted to enter the number to use to call back. Thenumber can be selected from the interfaces phone book or enteredmanually. The CGI script will make a request to the Enhanced ServicePlatform to create a two-way call between the subscriber and the partythat left the voice message. In the PSTN-to-PSTN case, the EnhancedServices platform will call the subscriber first. Upon connecting,successfully, the Enhanced Services platform calls the party that leftthe voicemail message. If the called party picks up, the call is bridgedbetween the subscriber and the called party. The return call can also becarried out using the Internet Telephony (IT)-to-PSTN Gateway, whenprovided on the Enhanced Services Platform.

[0097] 2) Place a Call—The sequence for placing a call is similar to thesequence for returning a call. The user clicks on the “Place a call”button on the user interface. The subscriber indicates the number to becalled by using his/her phone directory or entering the number manually.When the button is clicked, the “dial” Call Services CGI 402 script isinvoked. The CGI script makes a request to the Enhanced ServicesPlatform to create a two-way call between the subscriber and the phonenumber that was entered. This call can be carried out PSTN-to-PSTN orIT-to-PSTN.

[0098] 3) Call Me back now—When a “call me” button is clicked on theuser interface embedded in the enhanced e-mail, the Call Services CGI402 script makes a request to the Enhanced Services Platform to call thesubscriber at a number entered/selected by the subscriber. When thesubscriber answers the call, the Enhanced Services Platform prompts thesubscriber to enter his/her Personal Identification Number (PIN). Onsuccessfully entering a valid PIN, the subscriber can use all the DTMFfeatures available with the enhanced services to which he/she hassubscribed.

[0099] 4) Listen by Phone—Similar to the “Call me back” option, theinterface includes a “Listen by Phone” button. When that button isclicked, the Call Services CGI 402 script makes a request to theEnhanced Services Platform to call the subscriber at a numberentered/selected by the subscriber. The request includes the message IDof the message that was displayed when the user clicked the button. Whenthe subscriber answers the call, the Enhanced Services Platform plays,to the subscriber, the voicemail message corresponding to that messageID.

[0100] 5) Phone Conference—A conference between two or more people, mayalso be initiated via the interface. The teleconference may either beconducted over the PSTN or over the Internet (e.g., using voice overIP). When the conference button is clicked, a conference user interfacewill be presented to the subscriber. The conferencing user interfaceuses the “conference” Call Services CGI 402 script to create and carryout the conference with at least one person. The “conference” CallServices CGI 402 script creates a conference, deletes a conference, addsconferees, and drops conferees via the “conference gateway”. Theconference gateway uses the Enhanced Services Platform to interface withthe PSTN (using a Telephony Switch or a Programmable Switch Matrix(PSM)) or the IT-to-PSTN Gateway. The IT-to-PSTN Gateway interfaces withthe PSTN using the PSM. Additional details of how to set up an N-wayphone conference by either linking to such a service or by providingsuch capabilities directly in the Enriched E-mail message are describedin co-pending application Ser. No. 08/806,986, filed Feb. 26, 1997,entitled “Personal Web-Based Teleconferencing Method and System.”

[0101] Phone Directory Support:

[0102] The interface will enable the user to utilize a personaldirectory and a corporate directory for phone numbers and e-mailaddresses. The directory can be used when making a call or forwarding amessage to another person. The directory is activated by clicking on thephone book icon.

[0103] Setup and Configuration

[0104] The interface allows the user to setup and configure acorresponding enhanced services account, including routing schedules forvoice, fax, e-mail, and video calls and messages. The setup andconfiguration options that are available depend on the enhanced servicesto which the user subscribes. The enhanced services include, but are notlimited, to:

[0105] voice, fax, video mail

[0106] find me/follow me services

[0107] call diversion

[0108] call screening

[0109] text-to-speech conversion

[0110] automatic speech recognition

[0111] conferencing

[0112] broadcast fax and voice messaging

[0113] unified messaging and communications

[0114] calling card

[0115] The setup and configuration links 204 shown in FIG. 2 allow auser to manage UC services without requiring the aid of customer servicerepresentatives. With these links, a user can temporary set overrides(e.g., defer all calls to a specific number for N hours), manage aservice profile, and login/logout from the interface.

[0116] When the user selects the “Overrides” link in section 204 of theinterface, the interface requests a new “overrides” interface from anHTTP CGI script or program 404 on the UC Web Server 410. The new“overrides” interface (an HTML/XML/WML user interface) is rendered inthe same or a separate window and allows the user to temporarilyoverride settings such as: availability and call screening, faxstore/forward options, fax location number, and voice location number.Actions initiated from this interface are propagated back to the UnifiedMail System platform through at least one message.

[0117] When the user selects the “profile” link in section 204 of theinterface, the interface requests a new “profile” interface from an HTTPCGI script or program 404 residing on the UC Web Server 410. The new“profile” interface (also an HTML/XML/WML user interface) is rendered ina separate window or the same window and allows the user to manage acorresponding UC user profile. This “profile” interface manages UCprofile information such as: voice location schedule, availability/callscreening schedule, contact telephone numbers (voice/fax),text-to-speech settings, and e-mail notification options. Actionsinitiated from this “profile” interface are stored in the UC databaseand propagated to the Unified Mail System platform.

[0118] Similar interfaces are generated when the user selects either the“login” or “logout” options in section 204 of the interface.Authentication (as described with reference to FIG. 6) is performed bythe corresponding “login” CGI script or program. When the user selectsthe “login” URL link in section 204 of the interface, the “login” userinterface is generated from an HTTP CGI script or program 404 residingon the UC Web Server 410. The “login” user interface (also anHTML/XML/WML user interface) is rendered in a separate browser window orthe same browser window. The “login” user interface is also presented tothe user in cases where any “button” (e.g., Profile) or “URL link”(e.g., Place A Call) is clicked from the UC e-mail user interface, andthe user has not yet completed the login (authentication) process (orhas been automatically logged out after inactivity). This securityfeature prevents unauthorized access to the UC services.

[0119] The “login” user interface provides data entry fields for the UCservice id (e.g., UC service number) and the UC service PersonalIdentification Number (PIN). Once a user (1) enters his/or authorizationinformation (e.g., UC service id and PIN) and (2) clicks on the submitbutton (e.g., HTML submit button), a request (e.g., an HTTP POSTrequest) is sent from the interface to the HTTP CGI “login” program 404on UC Web Server 410. The request contains the user's authorizationinformation (UC service id and PIN). The CGI “login” program sends aquery request message to the UC Data Server (Provisioning Back End(PBE)) program (shown in FIG. 4) using the UC service id as the queryfield. Upon receiving the query request message, the PBE program queriesthe database using the UC service id and returns the user's UC servicerecord to the CGI “login” program as a response message. If the queryfails, an error response message is sent back to the CGI “login”program. The CGI “login” program receives the response message andpresents an error message to the user if the query fails. If the querysucceeds, the PIN will be validated against the PIN provided in theuser's UC service record. If the PINs do not match, an error message ispresented to the user. The user is given the opportunity to retry thelogin process.

[0120] If the PINs match, the CGI “login” program creates a loginsession using UC Service Id, time stamp, and process id as the sessionidentifier and sets a Netscape Cookie on the user's computer.(Additional information on Netscape Cookies is available in W3C RFC 210,incorporated herein by reference.) The Netscape Cookie is set byproviding a name and a cookie value (e.g., CookieName=<UC ServiceId>|<Time Stamp>|<Process Id>). In addition, a cookie expiration date isset to support an extended login. The “extended login” keeps the user'slogin session active for a configurable amount of days (e.g., 14 days).The Netscape Cookie mechanism is used to maintain a login sessionbetween the user and the UC services platform. Each time the userinitiates an interaction with the UC services via the e-mail userinterface, the Netscape Cookie is sent as part of the HTTP request tothe UC Web Server 410. The cookie value is correlated back to the loginsession identifier. If the login session identifier exists on the UC WebServer, requests (by clicking on a URL link or button) initiated fromthe UC service user interface embedded in an e-mail are processed by theUC service. If the login session identifier does not exist, requestsfrom the UC service user interface are rejected. On rejection, the CGI404 services will provide the user with a “login” user interface.

[0121] A UC user interface “login” session is terminated by using the“logout” URL link or when the Netscape Cookie's life expires (based onthe Cookie expiration date). When the user clicks on the “logout” URLlink in section 204 of the interface, the “logout” HTTP CGI script orprogram 404 will set the Netscape Cookie to expire by setting the cookieexpiration date and time to a date and time in the past (e.g., Jul. 4,1961) and by deleting the login session identifier. Once the NetscapeCookie expires, the user must re-execute the login process to establishanother UC user interface login session.

[0122] Quick Overrides and Shorts Cuts

[0123] The quick overrides section 205 of the interface provides a setof customized short cuts (e.g., links) that enable the user to performtasks such as:

[0124] overriding a call forwarding location to number X for N hours;

[0125] turning caller screening on or off;

[0126] indicating that a subscriber is unavailable; and

[0127] removing all previously set overrides.

[0128] The shortcuts available are customizable by the user using the“options” button. By selecting any of the shortcuts, the interfacerequests that the enhanced services platform carry out the correspondingservice through a request of an account services CGI 404 script orprogram.

[0129] Voice Activated Interface

[0130] Using voice recognition support for commands in e-mail and webbrowser clients, the e-mail interface described herein is controllablein two different modes: (1) using standard links and (2) using shortspeaker commands. For example, to dial a phone number, the user says“dial” followed by a name in the user's personal or corporate phonedirectory or by speaking the digits of the telephone number to bedialed. The same method can be used to return a call. In that case, theuser says “return call”. If a return number is present, the number willbe automatically dialed.

[0131] Below is an exemplary, but not limiting, list of commands thatcan be activated via the speech interface:

[0132] access to profile

[0133] access to overrides

[0134] login

[0135] logout

[0136] listen, save, delete, or forward messages

[0137] access to short cuts (quick overrides)

[0138] Synchronization of Electronic Mail and Information Stored in theUnified Communications Servers

[0139] When the Unified Communications System sends a notification to ane-mail system with a copy of a non-literal message or a link attached, asynchronization problem is created. This occurs because a copy of or areference to the message exists in two places. Automatic synchronizationbetween the two systems eliminates the need for the subscriber to deletethe message from two locations when it is no longer needed. This methodallows a Unified Messaging view of (1) e-mail and (2) voice and FAXmessages even if they do not share the same storage devices orlocations. Accordingly, various Unified Communications and e-mailsystems can be coupled together without storing all messages in a singlelocation.

[0140] Using automatic synchronization, a first system notifies a secondsystem when the message or notification is deleted from the firstsystem. For example, when a voice or FAX message is deleted from theUnified Communications system, a message is send to the e-mail systemindicating that the corresponding e-mail notification should be deletedfrom the e-mail system. Similarly, when a voice or facsimile relatede-mail notification is deleted from the e-mail system, the e-mail systemsends a message to the Unified Communications system indicating that thecorresponding voice or facsimile message should be deleted.

[0141] Each system uses a common globally unique message identifier tolocate messages in the counterpart systems store. This ID is used toidentify messages for deletion from or forwarding from the counterpartsystem.

[0142] Turning now to FIG. 5, a description of the illustratednotification flowchart is provided below. In step 500, a caller calls asubscriber using a unified communications number. The caller leaves avoicemail or facsimile message. The UC system records the caller'smessage and stores it (e.g., in a file on the server in a 32 Kbps ADPCMdigital audio format). The message is then moved to storage reserved forthe subscriber's account and is stored along with additional headerinformation that contains additional descriptive or administrative data.Examples of such descriptive or administrative data include, but are notlimited to:

[0143] a header version;

[0144] a message identifier;

[0145] a message type;

[0146] a time that the message was received;

[0147] a message priority (e.g., normal or urgent priority);

[0148] a length of the message (in time, pages or any other measure);

[0149] a subscriber's phone number;

[0150] a sender's phone number.

[0151] a recording rate (for voice messages);

[0152] a facsimile format for facsimile messages; and

[0153] a billing identifier.

[0154] After the message and the descriptive or administrativeinformation has been stored in step 500, control is passed to step 510.In step 510, the message notification server receives an indication thatthe subscriber has a new non-literal message (e.g., a new voicemail orfacsimile message). One method of performing step 510, is to utilize athe notification server that periodically scans a spool directorylooking for files containing information about newly arrived messages.These spool files contain the following information: (1) a notificationtype, (2) a language of notification, and (3) a location of the messageand its corresponding header.

[0155] In step 520, the message notification server uses thesubscriber's profile information to determine if the subscriber hasselected he/she receive e-mail notifications. If step 520 determinesthat e-mail notifications have not been enabled, then control passes tostep 530. In step 530, the system recognizes that an e-mail notificationis not to be sent. However, the system can send a non-e-mail-basednotification. Such a notification may include a paging notification or avoicemail notification. After step 530, the system finishes itprocessing based on the message received and passes control to step 595which indicates the end of processing.

[0156] If step 520 determines that e-mail notifications have beenenabled, then control passes to step 540. In step 540, the systemgathers the information about the message for which the notification isbeing generated. This includes message type, length, sender and at whattime it was left. Subsequently, control passes to step 550 where thesystem makes a second decision. In step 550, the system determines if asubscriber has enabled receipt of enriched (or active) e-mails. If step550 determines that enriched e-mails have not been enabled, the controlpasses to step 560. In step 560, the message is converted to a facsimileor audio format directly without using an active interface. The messageis converted to the format preferred by the subscriber. For a FAXmessages the supported formats are multi-page TIFF or PDF. For voicemessages it can be AU, WAV, GSM, or RealAudio.

[0157] However, if step 550 determines that enriched e-mails areenabled, then control passes to step 570 which causes the system togenerate an enriched email containing status information and a link backto the message. In one embodiment of the present invention, the e-mailis generatedby merging message information and an HTML template.Regardless of the decision reached in step 550, after both steps 570 and560, control passes to step 580. In step 580, the system generates ane-mail addressed to the subscriber's e-mail account. Such an e-mail canbe formatted in any valid format; however, the preferred embodimentutilizes MIME encoding format. Lastly, in steps 590 and 595,respectively, the e-mail notification is sent (e.g., using the SMTPprotocol) and the process ends.

[0158] Turning now to FIG. 6, a description of the illustrated linkcreation flowchart is provided below. First, a notification is receivedby a subscriber in the subscriber's e-mail account indicating that a newmessage (e.g., a voicemail or a facsimile) has arrived. Secondly, thesubscriber selects an action through the active interface (or the systemautomatically tries to retrieve confidential status information. If thesubscriber is not authenticated already, the process is diverted toensure that the subscriber is authenticated. (As described above, such aprocess requires that the user enter authentication information (e.g., avalid subscriber and PIN number combination).) Once the subscriber isauthenticated, then, during the process of rendering the user interfacein the e-mail client or browser, the current account information also isdisplayed. Independent of whether confidential information is to bedisplayed, the subscriber must be authenticated when the subscriberchooses one of the selections on the active interface. The systemdetermines (represented by a hexagon in FIG. 6) which selection has beenrequested. Processing continues as described below for each of theillustrated selections.

[0159] (1) Retrieve (Listen or View)—A CGI script on the Web Server isinvoked to initiate the download of a facsimile message or a streamingvoice message. A FAX will be in multi-page TIFF or PDF format based onthe subscribers' preference setting. Upon initiation of the download,the operating system of the access device will cause the appropriateprogram for viewing the message to be invoked. A voice message will bestreamed in GSM or RealAudio format based on the subscriber's preferencesetting. The appropriate audio player will be invoked by the operatingsystem of the access device for playing the message while it is beingdownloaded. This mechanism is referred to as “audio streaming”.

[0160] (2) Delete—A CGI script on the Web Server is invoked whichdeletes the message from the Unified Communications System.

[0161] (3) Forward—This allows the voice or FAX message to be forwardedto a phone number or e-mail address.

[0162] (4) Options—A browser is used to present HTML pages that are usedto access the subscriber's Overrides and Profile information.

[0163] (5) Help—A browser page pops up with help on how to use theactive interface.

[0164] Obviously, numerous modifications and variations of the presentinvention are possible in light of the above teachings without departingfrom the intended scope of the present invention. For example, the voicemessaging system used in the present invention need not be physicallyconnected to the UC server but may instead be connected remotely througha communications network including one or more intermediate networkcomponents.

1. A computer product, comprising: a computer storage medium and a computer program code mechanism embedded in the computer storage medium for causing a computer to control retrieval of non-literal messages referenced in a notification message, the computer program code mechanism comprising: a first computer code device configured to store a non-literal message sent to a subscriber identified by a unique identifier; a second computer code device configured to generate an e-mail notification with an embedded active interface referencing the non-literal message and for communicating with a remote computer in order to update the interface dynamically; a third computer code device configured to retrieve the non-literal message from the remote computer when requested by the subscriber through the active interface; and a fourth computer code device configured to render the non-literal message in at least one of an audio formal and a visual format.
 2. The computer program product as claimed in claim 1, wherein the fourth computer code device comprises a fifth computer code device configured to render the non-literal message in a streaming format
 3. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to link to a modifiable version of account and configuration information of the subscriber.
 4. The computer program product as claimed in claim 1, wherein the non-literal message comprises a voicemail message.
 5. The computer program product as claimed in claim 1, wherein the non-literal message comprises a facsimile message.
 6. The computer program product as claimed in claim 1, wherein the non-literal message comprises an active message indicating that an external event registered by the subscriber has occurred.
 7. The computer program product as claimed in claim 1, wherein the non-literal message comprises an active message including at least one of news information and sports information.
 8. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to dynamically update the active interface to display existing overrides of the subscriber.
 9. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to provide interface controls representing short cuts for frequently performed tasks.
 10. The computer program product as claimed in claim 9, wherein the fifth computer code device comprises a sixth computer code device configured to forward stored facsimiles to a selected facsimile machine.
 11. The computer program product as claimed in claim 1, wherein the third computer code device comprises a fifth computer code device configured to retrieve the non-literal message using a secure HTML request.
 12. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to perform any one of: (1) deliver a stored facsimile to a retrieval device specified by the subscriber; (2) delete the non-literal message from storage; and (3) save the non-literal message into storage.
 13. The computer program product as claimed in claim 1, further comprising a fifth computer code device configured to synchronize, plural non-literal message storage systems when the non-literal message is deleted from one of the plural non-literal message storage systems.
 14. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to forward the non-literal message to any one of a phone number, a distribution list and an e-mail address.
 15. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to provide two-way teleconferencing.
 16. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to provide a return call interface for controlling a two-way teleconferencing bridge between two parties.
 17. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to provide a call originating interface for controlling a two-way teleconferencing bridge between two parties.
 18. The computer program product as claimed in claim 1, wherein the second computer code device comprises a fifth computer code device configured to control a telecommunications switch to call the subscriber to play the voice messages of the subscriber over a phone connection.
 19. The computer program product as claimed in claim 18, further comprising a sixth computer code device configured to control the telecommunications switch to perform one of stopping a playing voice message, restarting a stopped voice message, fast forwarding a playing voice message and rewinding a playing voice message.
 20. The computer program product as claimed in claim 1, wherein the active interface is implemented as a Java applet. 